// class Solution {
// public:
//     int longestPalindrome(string s) {
//         map<char, int> hash;
//         for(auto e : s) hash[e]++;
//         int ret = 0, add = 0;
//         for(auto [c, i] : hash)
//         {
//             if(i & 1) ret += i - 1, add = 1;
//             else ret += i;
//             // cout << c << ' ' << i << endl;
//         }
//         return ret + add;
//     }
// };
class Solution {
public:
    int longestPalindrome(string s) {
        int hash[128]{};
        for (auto e : s) hash[e]++;
        int ret = 0;
        for (auto i : hash) ret += i >> 1;
        ret <<= 1;
        return ret == s.size() ? ret : ret + 1;
    }
};